package com.wei800.turnover.action;

import com.wei800.common.action.abs.AbstractBaseAction;
import com.wei800.common.http.RequestData;
import com.wei800.common.http.ResponseData;
import com.wei800.common.util.bean.DeepBeanUtils;
import com.wei800.dto.UserDTO;
import com.wei800.service.IUserService;
import com.wei800.turnover.entity.Member;
import com.wei800.turnover.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/zzx/user/")
@Slf4j
public class UserAction extends AbstractBaseAction { // 必须要继承父类
    @Autowired
    private IUserService userService;
    // /api/zzx/user/add
    @PostMapping("add") // 写路径
    public Object add(@RequestBody RequestData<UserDTO> data) {
        log.info("执行用户增加操作，数据：{}", data);
        ResponseData responseData = new ResponseData();
        responseData.setRespCode(1000); // HTTP响应状态
        // DTO是控制层和业务层使用的
        // Entity实体类是业务层和数据层使用的
        User user = new User(); // 创建Entity实例
        DeepBeanUtils.copyProperties(data.getReqData(), user); // DTO内容拷贝到Entity对象
        responseData.setRespData(this.userService.save(user)); // HTTP响应内容
        return responseData;
    }
    @PostMapping("add2") // 写路径
    public Object add2(@RequestBody RequestData<UserDTO> data) {
        log.info("执行用户增加操作，数据：{}", data);
        ResponseData responseData = new ResponseData();
        responseData.setRespCode(1000); // HTTP响应状态
        // DTO是控制层和业务层使用的
        // Entity实体类是业务层和数据层使用的
        responseData.setRespData(this.userService.save(data.getReqData())); // HTTP响应内容
        return responseData;
    }
}
